﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class РаботаСТорговымОборудованием
	{
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ РАБОТЫ С ТОРГОВЫМ ОБОРУДОВАНИЕМ
		// Функция проверяет корректность порядка назначения PLU для товаров,
		// выгружаемых в ККМ в режиме Offline.
		//
		// Параметры
		//  ПорядокНазначения - <ПеречислениеСсылка.ПорядокПрисвоенияPLU>
		//                    - Проверяемое значение.
		//
		// Возвращаемое значение:
		//   <Булево>         – Результат проверки.
		//

		public object КорректныйПорядокНазначенияPLU(/*ПорядокНазначения*/)
		{
			//Результат  = Ложь;
			//ПерПорядки = Перечисления.ПорядокПрисвоенияPLU;
			if(true/*ПорядокНазначения = ПерПорядки.ПоПорядку*/)
			{
				//Результат = Истина;
			}
			return null;
		}
		// КорректныйПорядокНазначенияPLU()
		// Функция возвращает значение PLU для новой записи регистра сведений
		// "ТоварыНаККМ" в соответствии с текущим порядком назначения PLU.
		//
		// Параметры
		//  КассаККМ       - <СправочникСсылка.КассыККМ>
		//                 - Касса, с которой будет связана запись.
		//
		//  Номенклатура   - <СправочникСсылка.Номенклатура>
		//                 - Номенклатура, для которой необходимо задать новый PLU.
		//
		// Возвращаемое значение:
		//  <Число>        – Значение PLU.
		//

		public object ПолучитьНовыйPLU(/*КассаККМ, Номенклатура*/)
		{
			//Код     = 0;
			//Порядок = Константы.ПорядокПрисвоенияPLU.Получить();
			if(true/*Порядок = Перечисления.ПорядокПрисвоенияPLU.ПоКодуНоменклатуры*/)
			{
				//Код = Число(Номенклатура.Код);
			}
			return null;
		}
		// ПолучитьНовыйPLU()
		///////////////////////////////////////////////////////////////////////////////
		//// ФУНКЦИИ РАБОТЫ С ОБРАБОТКАМИ ОБСЛУЖИВАНИЯ
		// Функция возвращает обработку обслуживания торгового оборудования.
		//
		// Параметры:
		//  Модель                             - <СправочникСсылка.ТорговоеОборудование>
		//                                     - Модель торгового оборудования, для
		//                                       которой необходимо получить обработку
		//                                       обслуживания.
		//
		//  Обработка                          - <ВнешняяОбработкаОбъект.*>
		//                                     - Выходной параметр; обработка обслуживания,
		//                                       соответствующая указанной модели торгового
		//                                       оборудования.
		//
		// Возвращаемое значение:
		//  <ПеречислениеСсылка.ТООшибкиОбщие> - Результат выполнения операции.
		//                                       В случае успешного завершения возвращается
		//                                       пустая ссылка перечисления ТООшибкиОбщие.
		//

		public object ПолучитьОбработкуОбслуживанияТО(/*Модель, Обработка*/)
		{
			//Обработка = Неопределено;
			//ВерсияAPIКонфигурации = ПолучитьСерверТО().ПолучитьВерсиюAPIКонфигурацииТО();
			if(true/*Не ((ВерсияAPI >= ВерсияAPIКонфигурации) И (ВерсияAPI < Окр(ВерсияAPIКонфигурации, 0, РежимОкругления.Окр15как10) + 1))*/)
			{
				/*Сообщить("" + Модель + "" + ":" + Символы.ПС
		+ "Версия API обработки обслуживания " + Формат(ВерсияAPI, "ЧЦ=5; ЧДЦ=2") + " не совпадает с версией API конфигурации " + Формат(ВерсияAPIКонфигурации, "ЧЦ=5; ЧДЦ=2") + "." + Символы.ПС
		+ "Обновите обработку обслуживания.", СтатусСообщения.Важное);*/
				//Обработка = Неопределено;
				//Результат = Перечисления.ТООшибкиОбщие.ОшибкаЗагрузкиОбработкиОбслуживания;
			}
			return null;
		}
		// ПолучитьОбработкуОбслуживанияТО()
		///////////////////////////////////////////////////////////////////////////////
		//// ФУНКЦИИ, ОБЛЕГЧАЮЩИЕ РАБОТУ С РЕГИСТРОМ СВЕДЕНИЙ "ТОВАРЫ НА ККМ"
		// Функция осуществляет получение информации о товаре по заданному номеру PLU.
		//
		// Параметры:
		//  КассаККМ       - <СправочникСсылка.КассыККМ>
		//                 - КассаККМ, для которой определён данный PLU.
		//
		//  ПЛУ            - <Число>
		//                 - PLU товара, информацию о котором необходимо получить.
		//
		// Возвращаемое значение:
		//  <Структура>,
		//  <Неопределено> - В случае, если товар не найден, возвращается значение
		//                   Неопределено. Иначе - структура со следующими полями:
		//                     Номенклатура               - <СправочникСсылка.Номенклатура>
		//                                                - Номенклатура, которая соответствует
		//                                                  переданному значению PLU.
		//                     ЕдиницаИзмерения           - <СправочникСсылка.ЕдиницыИзмерения>
		//                                                - Единица измерения номенклатуры.
		//                     ХарактеристикаНоменклатуры - <СправочникСсылка.ХарактеристикиНоменклатуры>
		//                                                - Характеристика номенклатуры.
		//                     СерияНоменклатуры          - <СправочникСсылка.СерииНоменклатуры>
		//                                                - Серия номенклатуры.
		//                     Качество                   - <СправочникСсылка.Качество>
		//                                                - Качество.
		//

		public object ПолучитьОписаниеТовараККМ(/*КассаККМ, ПЛУ*/)
		{
			//Результат = Неопределено;
			/*Запрос = Новый Запрос(
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
	|    РегТовары.Номенклатура                КАК Номенклатура,
	|    РегТовары.ЕдиницаИзмерения            КАК ЕдиницаИзмерения,
	|    РегТовары.ХарактеристикаНоменклатуры  КАК ХарактеристикаНоменклатуры,
	|    РегТовары.СерияНоменклатуры           КАК СерияНоменклатуры
	|ИЗ
	|    РегистрСведений.ТоварыНаККМ КАК РегТовары
	|ГДЕ
	|    РегТовары.КассаККМ = &КассаККМ
	|    И РегТовары.Код    = &ПЛУ");*/
			//Запрос.УстановитьПараметр("КассаККМ", КассаККМ);
			//Запрос.УстановитьПараметр("ПЛУ",      ПЛУ);
			//РезультатЗапроса = Запрос.Выполнить();
			if(true/*Не РезультатЗапроса.Пустой()*/)
			{
				/*Результат = Новый Структура(
		                      "Качество, Номенклатура, ЕдиницаИзмерения, ХарактеристикаНоменклатуры, СерияНоменклатуры",
		                      Справочники.Качество.Новый);*/
				//Выборка = РезультатЗапроса.Выбрать();
				//Выборка.Следующий();
				//ЗаполнитьЗначенияСвойств(Результат, Выборка);
			}
			return null;
		}
		// ПолучитьОписаниеТовараККМ()
		////////////////////////////////////////////////////////////////////////////////
		// ФУНКЦИИ РАБОТЫ СО ШТРИХКОДАМИ
		// Функция осуществляет ввод штрихкода пользователем.
		//
		// Возвращаемое значение:
		//  Строка - введенный щтрихкод. Если пользователь отказался от ввода - возвращается пустая строка.
		//

		public object ВвестиШтрихкод(/**/)
		{
			//Результат = "";
			//ВвестиСтроку(Результат, "Введите штрихкод");
			return null;
		}
		// ВвестиШтрихкод()
		// Функция возвращает результат проверки строки на предмет соответствия
		// штрихкоду формата EAN8.
		//
		// Параметры:
		//  Штрихкод - <Строка>
		//           - Проверяемый штрихкод.
		//
		// Возвращаемое значение:
		//  <Булево> - Результат проверки.
		//

		public object ТипШтрихкодаEAN8ТО(/*Штрихкод*/)
		{
			//Результат   = Ложь;
			//Сумма       = 0;
			//Коэффициент = 3;
			if(true/*СтрДлина(Штрихкод) = 8*/)
			{
				//Индекс = Неопределено;
				//Сумма     = (10 - Сумма % 10) % 10;
				//Результат = (КодСимвола(Штрихкод, 8) = Сумма + 48);
			}
			return null;
		}
		// ТипШтрихкодаEAN8ТО()
		// Функция возвращает результат проверки строки на предмет соответствия
		// штрихкоду формата EAN13.
		//
		// Параметры:
		//  Штрихкод - <Строка>
		//           - Проверяемый штрихкод.
		//
		// Возвращаемое значение:
		//  <Булево> - Результат проверки.
		//

		public object ТипШтрихкодаEAN13ТО(/*Штрихкод*/)
		{
			/*Результат = (СтрДлина(Штрихкод) = 13
	             И КонтрольныйСимволEAN13ТО(Штрихкод) = Прав(Штрихкод, 1));*/
			return null;
		}
		// ТипШтрихкодаEAN13ТО()
		// Функция возвращает результат проверки строки на предмет соответствия
		// штрихкоду формата ITF14.
		//
		// Параметры:
		//  Штрихкод - <Строка>
		//           - Проверяемый штрихкод.
		//
		// Возвращаемое значение:
		//  <Булево> - Результат проверки.
		//

		public object ТипШтрихкодаITF14ТО(/*Штрихкод*/)
		{
			//Результат   = Ложь;
			//Сумма       = 0;
			//Коэффициент = 3;
			if(true/*СтрДлина(Штрихкод) = 14*/)
			{
				//Индекс = Неопределено;
				//Сумма     = (10 - Сумма % 10) % 10;
				//Результат = (КодСимвола(Штрихкод, 14) = Сумма + 48);
			}
			return null;
		}
		// ТипШтрихкодаITF14ТО()
		// Функция возвращает результат проверки строки на предмет соответствия
		// штрихкоду формата CODE39.
		//
		// Параметры:
		//  Штрихкод - <Строка>
		//           - Проверяемый штрихкод.
		//
		// Возвращаемое значение:
		//  <Булево> - Результат проверки.
		//

		public object ТипШтрихкодаCODE39ТО(/*Штрихкод*/)
		{
			//Результат = Ложь;
			//Длина     = СтрДлина(Штрихкод);
			//Индекс    = Неопределено;
			if(true/*Длина > 0*/)
			{
				//Результат = Истина;
			}
			return null;
		}
		// ТипШтрихкодаCODE39ТО()
		// Функция возвращает контрольный символ штрихкода EAN13.
		//
		// Параметры:
		//  Штрихкод - <Строка>
		//           - Неполный штрихкод (12 символов), для которого вычисляется
		//             контрольный 13-й символ.
		//
		// Возвращаемое значение:
		//  <Строка> - Контрольный символ EAN13.
		//

		public object КонтрольныйСимволEAN13ТО(/*Штрихкод*/)
		{
			//Результат   = "";
			//Сумма       = 0;
			//Коэффициент = 1;
			//Индекс = Неопределено;
			//Сумма     = (10 - Сумма % 10) % 10;
			//Результат = Символ(Сумма + 48);
			return null;
		}
		// КонтрольныйСимволEAN13ТО()
		// Функция вычисляет контрольный символ кода EAN
		//
		// Параметры:
		//  ШтрихКод     - штрихкод (без контрольной цифры)
		//  Тип          - тип штрихкода: 13 - EAN13, 8 - EAN8
		//
		// Возвращаемое значение:
		//  Контрольный символ штрихкода
		//

		public object КонтрольныйСимволEAN(/*ШтрихКод, Тип*/)
		{
			//Четн   = 0;
			//Нечетн = 0;
			//КоличествоИтераций = ?(Тип = 13 ИЛИ Тип = 14, 6, 4);
			if(true/*Тип = 14*/)
			{
				//Нечетн = Нечетн + Сред(ШтрихКод, 13, 1);
				//Нечетн = Нечетн * 3;
			}
			//КонтЦифра = 10 - (Четн + Нечетн) % 10;
			//Возврат ?(КонтЦифра = 10, "0", Строка(КонтЦифра));
			return null;
		}
		// КонтрольныйСимволEAN()
		// Проверка штрихкода на корректность
		//
		// Параметры:
		//  ШтрихКод     - проверяемый штрихкод;
		//  ТипШтрихкода - элемент плана видов характеристик "ТипыШтрихкодов", содержит тип
		//                 проверяемого штрихкода.
		//
		// Возвращаемое значение:
		//  Истина если штрих код корректен, иначе Ложь
		//

		public object ПроверитьШтрихКод(/*ШтрихКод, ТипШтрихкода*/)
		{
			//ДлинаКода = СтрДлина(Штрихкод);
			if(true/*ДлинаКода = 0*/)
			{
			}
			return null;
		}
		// ПроверитьШтрихКод()
		// Функция осуществляет формирование нового внутреннего штрихкода для
		// штучного товара
		//
		// Параметры
		//  Код  – <Число>
		//       – Измерение "Код" регистра сведений Штрихкоды
		//
		// Возвращаемое значение:
		//  <Строка>
		//       – сформированный штрихкод
		//

		public object СформироватьШтрихКод(/*Знач ПрефиксШтучногоТовара = Неопределено, Знач ПрефиксВнутреннегоШтрихкода = Неопределено*/)
		{
			if(true/*ПрефиксШтучногоТовара = Неопределено*/)
			{
				//ПрефиксШтучногоТовара = СокрЛП(Константы.ПрефиксШтучногоТовара.Получить());
			}
			if(true/*ПрефиксВнутреннегоШтрихкода = Неопределено*/)
			{
				//ПрефиксВнутреннегоШтрихкода = Константы.ПрефиксВнутреннегоШтрихкода.Получить();
			}
			//ПрефиксШтучногоТовара = ?(ПустаяСтрока(ПрефиксШтучногоТовара), "0", ПрефиксШтучногоТовара);
			//ПрефиксВнутреннегоШтрихкода = Формат(ПрефиксВнутреннегоШтрихкода, "ЧЦ=2; ЧН=; ЧВН=");
			/*Запрос = Новый Запрос("
	|ВЫБРАТЬ
	|	МАКСИМУМ(ПОДСТРОКА(РегШтрихКоды.Штрихкод, 5, 8)) КАК Код
	|ИЗ
	|	РегистрСведений.ШтрихКоды КАК РегШтрихКоды
	|ГДЕ
	|	РегШтрихКоды.ТипШтрихкода = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ТипыШтрихкодов.EAN13)
	|	И РегШтрихКоды.Штрихкод ПОДОБНО ""2" + ПрефиксШтучногоТовара + ПрефиксВнутреннегоШтрихкода + "_________""
	|");*/
			//Выборка = Запрос.Выполнить().Выбрать();
			//Выборка.Следующий();
			//ТекКод = ?(Выборка.Код = NULL, 1, Мин(ОбщегоНазначения.ПривестиСтрокуКЧислу(Выборка.Код) + 1, 99999999));
			//Штрихкод = "2" + ПрефиксШтучногоТовара + ПрефиксВнутреннегоШтрихкода + Формат(ТекКод, "ЧЦ=8; ЧВН=; ЧГ=");
			//Штрихкод = Штрихкод + КонтрольныйСимволEAN(ШтрихКод, 13);
			return null;
		}
		// СформироватьШтрихКод()
		// Проверка наличия в передаваемом штрихкоде только цифр.
		//
		// Параметры:
		//  ШтрихКод - проверяемый штрихкод
		//
		// Возвращаемое значение:
		//  Истина, если штрих код только из цифр, иначе - Ложь.
		//

		public object ТолькоЦифры(/*Штрихкод*/)
		{
			return null;
		}
		// ТолькоЦифры()
		///////////////////////////////////////////////////////////////////////////////
		//// ФУНКЦИИ, ОБЛЕГЧАЮЩИЕ ПОДБОР НОМЕНКЛАТУРЫ ПРИ ИСПОЛЬЗОВАНИИ СКАНЕРА
		// Функция возвращает структуру, которая может в дальнейшем использоваться в
		// обработке подбора.
		//
		// Параметры:
		//  Номенклатура   - <СправочникСсылка.Номенклатура>, <Неопределено>
		//                 - Номенклатура, подбор которой осуществляется. В случае,
		//                   если задан параметр "СерийныйНомер", значение данного
		//                   параметра игнорируется.
		//
		//  Характеристика - <СправочникСсылка.ХарактеристикиНоменклатуры>, <Неопределено>
		//                 - Характеристика подбираемой номенклатуры.  В случае,
		//                   если задан параметр "СерийныйНомер", значение данного
		//                   параметра игнорируется.
		//
		//  Серия          - <СправочникСсылка.СерииНоменклатуры>, <Неопределено>
		//                 - Серия подбираемой номенклатуры.  В случае,
		//                   если задан параметр "СерийныйНомер", значение данного
		//                   параметра игнорируется.
		//
		//  Качество       - <СправочникСсылка.Качество>, <Неопределено>
		//                 - Качество подбираемой номенклатуры.  В случае,
		//                   если задан параметр "СерийныйНомер", значение данного
		//                   параметра игнорируется.
		//
		//  Единица        - <СправочникСсылка.ЕдиницыИзмерения>, <Неопределено>
		//                 - Единица измерения подбираемой номенклатуры.  В случае,
		//                   если задан параметр "СерийныйНомер", значение данного
		//                   параметра игнорируется.
		//
		//  Количество     - <Число>
		//                 - Количество подбираемой номенклатуры.
		//
		//  Валюта         - <СправочникСсылка.Валюты>
		//                 - Используемая валюта.
		//
		//  СерийныйНомер  - <СправочникСсылка.СерийныеНомера>, <Неопределено>
		//                 - Серийный номер. В случае, если данный параметр не задан,
		//                   осуществляется обычный подбор номенклатуры. В противном
		//                   случае - подбор по серийному номеру.
		//
		//  СкладыВТЧ      - <Булево>
		//                 - Признак необходимости указания складов в табличной части документа.
		//
		//  ТипЦен         - <СправочникСсылка.ТипыЦенНоменклатуры>, <СправочникСсылка.ТипыЦенНоменклатурыКонтрагентов>
		//                 - Тип цен номенклатуры.
		//
		//  Контрагент     - <СправочникСсылка.Контрагенты>
		//                 - Необязательный параметр; контрагент, для которого осуществляется
		//                   получение цены номенклатуры.
		//
		//  Договор        - <СправочникСсылка.ДоговорыКонтрагентов>
		//                 - Необязательный параметр; договор контрагентов.
		//
		// Возвращаемое значение:
		//  <Структура>    - Структура, которая может в дальнейшем использоваться в
		//                   обработке подбора.
		//

		public object СформироватьСтруктуруПодбора(/*Знач ДатаЦен, Знач Номенклатура, Знач Характеристика, Знач Серия,
                                     Знач Качество, Знач Единица, Знач Количество, Знач Валюта,
                                     Знач СерийныйНомер, Знач СкладыВТЧ, Знач ТипЦен,
                                     Знач Контрагент = Неопределено,
                                     Знач Договор = Неопределено,
                                     Знач УсловиеПродаж = Неопределено,
                                     Знач Склад = Неопределено*/)
		{
			//Результат = Новый Структура();
			if(true/*ЗначениеЗаполнено(СерийныйНомер)*/)
			{
				//Номенклатура   = СерийныйНомер.Владелец;
				//Единица        = Номенклатура.ЕдиницаХраненияОстатков;
				//Характеристика = Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка();
				//Серия          = Справочники.СерииНоменклатуры.ПустаяСсылка();
				//Качество       = Справочники.Качество.Новый;
				//Количество     = 1;
				//Результат.Вставить("СерийныйНомер", СерийныйНомер);
			}
			//Цена = 0;
			if(true/*Склад <> Неопределено И Склад.ВидСклада = Перечисления.ВидыСкладов.Розничный*/)
			{
				/*// Получим розничную цену из регистра "ЦеныАТТ"
*/
				//Цена = УправлениеРозничнойТорговлей.ПолучитьПродажнуюЦену(ДатаЦен, Номенклатура, Характеристика, Склад, УсловиеПродаж);
				/*// Пересчитаем полученную цену в нужную единицу измерения   
*/
				//Цена = Ценообразование.ПересчитатьЦенуПриИзмененииЕдиницы(Цена, Номенклатура.ЕдиницаХраненияОстатков, Единица);
			}
			//Результат.Вставить("СпособЗаполненияЦен",      Перечисления.СпособыЗаполненияЦен.ПоЦенамНоменклатуры);
			//Результат.Вставить("ВалютаЦены",               Валюта);
			//Результат.Вставить("Номенклатура",             Номенклатура);
			//Результат.Вставить("ЕдиницаИзмерения",         Единица);
			//Результат.Вставить("Количество",               Количество);
			//Результат.Вставить("Цена",                     Цена);
			//Результат.Вставить("Характеристика",           Характеристика);
			//Результат.Вставить("Серия",                    Серия);
			//Результат.Вставить("Качество",                 Качество);
			//Результат.Вставить("ЕстьСкладВТабличнойЧасти", СкладыВТЧ);
			//Результат.Вставить("Команда",                  "ПодборВТабличнуюЧасть");
			return null;
		}
		// СформироватьСтруктуруПодбора()
		// Функция формирует список значений по переданному массиву устройств.
		//
		// Параметры:
		//  МассивУстройств - Массив устройств ТО.
		//
		// Возвращаемое значение:
		//  СписокЗначений - сформированный список значений.
		//

		public object ПолучитьСписокУстройствТОДляВыбора(/*МассивУстройств*/)
		{
			//СписокУстройств = Новый СписокЗначений;
			return null;
		}
		// ПолучитьСписокУстройствДляВыбора()
		// Функция определяет и проверяет эквайринговую систему и фискальный регистратор.
		//
		// Параметры:
		//  ЭС - В эту переменную будет возвращена выбранная эквайринговая система.
		//  ФР - В эту переменную будет возвращен выбранный фискальный регистратор.
		//
		// Возвращаемое значение:
		//  Булево - Истина, если эквайринговая система и фискальный регистратор выбраны.
		//

		public object ПолучитьПроверитьПараметрыДляОплатыКартой(/*ЭС, ФР*/)
		{
			/*ФР = ПолучитьЭлементТО(Перечисления.ВидыТорговогоОборудования.ФискальныйРегистратор,
	   "Необходимо выбрать фискальный регистратор", "Фискальный регистратор не подключен!");*/
			/*ЭС = ПолучитьЭлементТО(Перечисления.ВидыТорговогоОборудования.ЭквайринговаяСистема,
	   "Необходимо выбрать эквайринговую систему", "Эквайринговая система не подключена!");*/
			return null;
		}
		// ПолучитьПроверитьПараметрыДляОплатыКартой()
		// Функция определяет и проверяет фискальный регистратор.
		//
		// Параметры:
		//  ФР - В эту переменную будет возвращен выбранный фискальный регистратор.
		//
		// Возвращаемое значение:
		//  Булево - Истина, если фискальный регистратор выбран.
		//

		public object ПолучитьПроверитьПараметрыДляПробитияЧека(/*ФР*/)
		{
			/*ФР = ПолучитьЭлементТО(Перечисления.ВидыТорговогоОборудования.ФискальныйРегистратор,
	   "Необходимо выбрать фискальный регистратор", "Фискальный регистратор не подключен!");*/
			return null;
		}
		// ПолучитьПроверитьПараметрыДляПробитияЧека()
		// Функция возвращает подключенный элемент ТО, вид которого передан параметром.
		//
		// Параметры:
		//  ВидТО - вид торгового оборудования, подключенный элемент которого требуется получить.
		//  ТекстЗаголовкаВыбора - текст заголовка для выбора.
		//   Используется, когда подключено несколько элементов.
		//  СообщениеНеПодключен - сообщение о том, что ни один элемент не подключен.
		//
		// Возвращаемое значение:
		//  Нужный элемент торгового оборудования.
		//

		public object ПолучитьЭлементТО(/*ВидТО, ТекстЗаголовкаВыбора, СообщениеНеПодключен*/)
		{
			//МассивТО = ПолучитьСерверТО().ПолучитьСписокУстройств(ВидТО);
			if(true/*МассивТО.Количество() = 0*/)
			{
				//ЭлементТО = Неопределено;
				//Предупреждение(СообщениеНеПодключен);
			}
			return null;
		}
		// ПолучитьТО()
		// Функция выполняет проверку, что переданная информационная карта не является дисконтной.
		// Если карта не является дисконтной, то выдается соответствующее предупреждение.
		//
		// Параметры:
		//  ИнформационнаяКарта - ссылка справочника "Информационные карты".
		//
		// Возвращаемое значение:
		//  Булево. Истина - если информационная карта не является дисконтной.
		//

		public object ПроверитьСообщитьЧтоКартаНеДисконтная(/*ИнформационнаяКарта*/)
		{
			if(true/*ИнформационнаяКарта.ТипКарты <> Перечисления.ТипыИнформационныхКарт.Дисконтная*/)
			{
				//Результат = Истина;
				//Предупреждение("Считанная карта не является дисконтной.");
			}
			return null;
		}
		// ПроверитьСообщитьЧтоКартаНеДисконтная()
		///////////////////////////////////////////////////////////////////////////////
		// ФУНКЦИИ, ОБЕСПЕЧИВАЮЩИЕ ЭКСПОРТ, ИМПОРТ И ОБНОВЛЕНИЕ ОБРАБОТОК ОБСЛУЖИВАНИЯ
		// Функция возвращает информацию о обработках обслуживания, удовлетворяющих,
		// если значение параметра "ИспользоватьФильтр" = Истина,
		// критериям отбора. Дополнительно можно указать идентификатор.
		//
		// Параметры
		//  Идентификатор      - <Строка>, <Неопределено>
		//                     - В случае, если данный параметр имеет значение, отличное от
		//                       "Неопределено", будет возвращён единственный элемент
		//                       справочника, имеющий данный идентификатор. Если
		//                       отбор исключает данное значение, то оно возвращено не будет.
		//
		//  Версия             - <Число>, <Неопределено>
		//                       В случае, если данный параметр имеет значение, отличное от
		//                       "Неопределено", элементы, имеющие данную или более позднюю
		//                       версии, будут исключены.
		//
		//  ИспользоватьФильтр - <Булево>
		//                     - В случае, если данный параметр имеет значение Истина,
		//                       будет использоваться фильтр.
		//
		// Возвращаемое значение:
		//  <ТаблицаЗначений>  - Таблица, содержащая информацию об обработках обслуживания
		//

		public object ПолучитьОбработки(/*ВидТО = Неопределено*/)
		{
			/*Запрос = Новый Запрос(
	"ВЫБРАТЬ
	|    СпрОбработки.Код,
	|    СпрОбработки.Наименование,
	|    СпрОбработки.ПометкаУдаления,
	|    СпрОбработки.Ссылка,
	|    СпрОбработки.Описание,
	|    СпрОбработки.Вид,
	|    СпрОбработки.ИмяФайла,
	|    СпрОбработки.Версия,
	|    СпрОбработки.ВерсияAPI,
	|    СпрОбработки.Идентификатор,
	|    СпрОбработки.Обработка
	|ИЗ
	|    Справочник.ОбработкиОбслуживанияТО КАК СпрОбработки
	|ГДЕ
	|    СпрОбработки.ПометкаУдаления = Ложь
	|    " + ?(ВидТО = Неопределено, "", "И
	|    СпрОбработки.Вид = &ВидТО"));*/
			if(true/*ВидТО <> Неопределено*/)
			{
				//Запрос.УстановитьПараметр("ВидТО", ВидТО);
			}
			return null;
		}
		// ПолучитьОбработки()
		// Процедура осуществляет импорт обработок обслуживания.
		//
		// Параметры
		//  КонтролироватьВерсии - <Булево>
		//                       - В случае, если данный параметр имеет значение "Истина",
		//                         будет осуществляться контроль версий обработок
		//                         обслуживания.
		//

		public void ИмпортироватьОбработки(/*ПроцессОбновления, ВидТО = Неопределено, ИмпортироватьССайта = Ложь, АдресИПараметрыСервера = Неопределено*/)
		{
			//СообщениеОбОшибке = "";
			//СписокФайлов = Неопределено;
			//КаталогОбработокОбслуживания = Неопределено;
			//СоответствиеИменФайлов = Неопределено;
			//ОбновленоЗаписей = 0;
			//ДобавленоЗаписей = 0;
			//Индикатор = ПолучитьОбщуюФорму("ХодВыполненияОбработкиДанных");
			if(true/*ИмпортироватьССайта*/)
			{
				//КаталогОбработокОбслуживания = ЗагрузитьОбработкиССервера(АдресИПараметрыСервера, , , СообщениеОбОшибке);
				if(true/*Не ЗначениеЗаполнено(КаталогОбработокОбслуживания)*/)
				{
					if(true/*Не ПустаяСтрока(СообщениеОбОшибке)*/)
					{
						//Сообщить(СообщениеОбОшибке, СтатусСообщения.Важное);
					}
				}
				//СписокФайлов = НайтиФайлы(КаталогОбработокОбслуживания, "*.epf");
				/*// Получаем список всех обработок в выбранном каталоге
*/
			}
			/*// Если не обнаружено ни одной обработки, то завершаем импорт
*/
			if(true/*СписокФайлов.Количество() = 0*/)
			{
			}
			//ЭлементыСправочника = ПолучитьОбработки(ВидТО);
			/*// Получаем из справочника "ОбработкиОбслуживанияТО" уже загруженные обработки
*/
			//ПолноеИмяФайла = РаботаСФайлами.ПолучитьИмяФайла(КаталогОбработокОбслуживания, "\temp.epf");
			/*// Временный файл для работы с ОО из справочника
*/
			//СоответствиеИмен = Новый Соответствие;
			/*// Индикатор хода работы с ОО справочника
*/
			//Индикатор.НаименованиеОбработкиДанных = "Обработка справочника обработок обслуживания";
			//Индикатор.КомментарийОбработкиДанных  = "";
			//Индикатор.КомментарийЗначения         = "Обработано";
			//Индикатор.МаксимальноеЗначение        = ЭлементыСправочника.Количество();
			//Индикатор.Значение = 0;
			if(true/*Индикатор.МаксимальноеЗначение > 0*/)
			{
				//Индикатор.Открыть();
			}
			/*// Сначала выполняем обход справочника
*/
			//ОбрОбслуживания = Неопределено;
			if(true/*ПроцессОбновления*/)
			{
				//СоответствиеИменФайлов = Новый Соответствие;
			}
			if(true/*Индикатор.МаксимальноеЗначение > 0*/)
			{
				//Индикатор.Закрыть();
			}
			/*// Индикатор хода работы с ОО из каталога
*/
			//Индикатор.НаименованиеОбработкиДанных = ?(ПроцессОбновления, "Обновление ","Импортирование ") + "обработок обслуживания";
			//Индикатор.КомментарийОбработкиДанных  = "";
			//Индикатор.КомментарийЗначения         = "Обработано";
			//Индикатор.МаксимальноеЗначение        = ?(ПроцессОбновления, ЭлементыСправочника.Количество(),СписокФайлов.Количество());
			//Индикатор.Значение = 0;
			if(true/*Индикатор.МаксимальноеЗначение > 0*/)
			{
				//Индикатор.Открыть();
			}
			if(true/*Не ПроцессОбновления*/)
			{
			}
			if(true/*Индикатор.МаксимальноеЗначение > 0*/)
			{
				//Индикатор.Закрыть();
			}
			//УдалитьФайлы(КаталогОбработокОбслуживания, "temp.epf");
			/*Сообщить("Процесс " + ?(ПроцессОбновления, "обновления", "загрузки") + " завершен." + Символы.ПС
	    + "Обработано файлов: " + ?(ПроцессОбновления, ЭлементыСправочника.Количество(),СписокФайлов.Количество()) + Символы.ПС + "Обновлено записей: " + Строка(ОбновленоЗаписей)
	    + ?(ПроцессОбновления, "", Строка(Символы.ПС + "Добавлено записей: " + ДобавленоЗаписей)) + Символы.ПС, СтатусСообщения.Информация);*/
		}
		// ИмпортироватьОбработки()
		// Процедура осуществляет экспорт обработок обслуживания.
		//
		// Параметры
		//  ИспользоватьФильтр - <Булево>
		//                     - В случае, если данный параметр имеет значение "Истина",
		//                       будет использоваться фильтр.
		//

		public void ЭкспортироватьОбработки(/*ВидТО = Неопределено*/)
		{
			//УспешноОбработано = 0;
			//КаталогОбработокОбслуживания = Неопределено;
			//ЭлементыСправочника = ПолучитьОбработки(ВидТО);
			if(true/*ЭлементыСправочника.Количество() = 0*/)
			{
				//Предупреждение("Список экспортируемых обработок обслуживания пуст.");
			}
			//Индикатор = ПолучитьОбщуюФорму("ХодВыполненияОбработкиДанных");
			//Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);
			//Диалог.Заголовок = "Укажите каталог, для сохранения обработок обслуживания";
			while(true/*Истина*/)
			{
				if(true/*Не Диалог.Выбрать()*/)
				{
					/*// Выбирается каталог
*/
				}
				/*// Проверка существования каталога на диске
*/
				//КаталогНаДиске = Новый Файл(Диалог.Каталог);
				if(true/*Не КаталогНаДиске.Существует()*/)
				{
				}
				//КаталогОбработокОбслуживания = Диалог.Каталог;
				//СписокФайлов = НайтиФайлы(КаталогОбработокОбслуживания, "*.epf");
				/*// Получаем список всех обработок в выбранном каталоге
*/
				/*// Если в каталоге обнаружены обработки обслуживания
*/
				if(true/*СписокФайлов.Количество() <> 0*/)
				{
					/*Ответ = Вопрос("В указанном каталоге обнаружены обработки обслуживания." 
			    + Символы.ПС + "Совпадающие обработки будут перезаписаны." 
			    + Символы.ПС + "Выбрать другой каталог?", РежимДиалогаВопрос.ДаНетОтмена);*/
					if(true/*Ответ = КодВозвратаДиалога.Нет*/)
					{
					}
				}
			}
			/*// Индикатор хода работы с ОО справочника
*/
			//Индикатор.НаименованиеОбработкиДанных = "Экспортирование обработок обслуживания";
			//Индикатор.КомментарийОбработкиДанных  = "";
			//Индикатор.КомментарийЗначения         = "Обработано";
			//Индикатор.МаксимальноеЗначение        = ЭлементыСправочника.Количество();
			//Индикатор.Значение = 0;
			if(true/*Индикатор.МаксимальноеЗначение > 0*/)
			{
				//Индикатор.Открыть();
			}
			/*// Выполняем обход справочника
*/
			//Обработка = Неопределено;
			if(true/*Индикатор.МаксимальноеЗначение > 0*/)
			{
				//Индикатор.Закрыть();
			}
			/*Сообщить("Процесс экспортирования завершен." + Символы.ПС + "Обработано записей: " + ЭлементыСправочника.Количество() 
	    + Символы.ПС + "Сохранено файлов: " + УспешноОбработано + Символы.ПС, СтатусСообщения.Информация);*/
		}
		// ЭкспортироватьОбработки()
		// Открывает помощника подключения и настройки торгового оборудования
		//

		public void ОткрытьПомощникПодключенияИНастройкиТО(/*ВидТО = Неопределено*/)
		{
			//ФормаПомощника = Обработки.ТОНастройка.ПолучитьФорму("ФормаПомощникаНастроек");
			//ФормаПомощника.мВидТОПоУмолчанию = ВидТО;
			//ФормаПомощника.ОткрытьМодально();
		}
		// Открывает форму проверки и настройки обновлений обработок обслуживания
		//

		public void ОткрытьОбновлениеОбработокОбслуживания(/*АдресИПараметрыСервера*/)
		{
			//СообщениеОбОшибке = "";
			//ТаблицаОбработокССайта = ПолучитьСписокОбработокССайта(АдресИПараметрыСервера, , СообщениеОбОшибке);
			if(true/*Не ПустаяСтрока(СообщениеОбОшибке) И АдресИПараметрыСервера.HTTP = Неопределено*/)
			{
				/*Сообщить("Не удалось выполнить операцию.
		|Проверьте наличие соединения с Интернетом и параметры подключения к ресурсу обновления обработок обслуживания.", СтатусСообщения.Важное);*/
			}
			//ФормаПроверкиОбновлений = Обработки.ТОНастройка.ПолучитьФорму("ФормаОбновленияОбработок");
			//ФормаПроверкиОбновлений.мТаблицаОбработокССайта = ТаблицаОбработокССайта;
			//ФормаПроверкиОбновлений.мАдресИПараметрыСервера = АдресИПараметрыСервера;
			if(true/*ФормаПроверкиОбновлений.Открыта()*/)
			{
				//ФормаПроверкиОбновлений.Активизировать();
			}
		}

		public object ПроверитьДоступностьНовыхОбработок(/*АдресИПараметрыСервера, ТихийРежим = Ложь*/)
		{
			//Результат = Ложь;
			//СообщениеОбОшибке = "";
			//ТаблицаОбработокИзСправочника = ПолучитьОбработки();
			//ТаблицаОбработокССайта = ПолучитьСписокОбработокССайта(АдресИПараметрыСервера, , СообщениеОбОшибке);
			if(true/*ЗначениеЗаполнено(ТаблицаОбработокССайта)*/)
			{
			}
			return null;
		}
		///////////////////////////////////////////////////////////////////////////////
		// ВСПОМОГАТЕЛЬНЫЕ ФУНКЦИИ ДЛЯ ПОЛУЧЕНИЯ ОБРАБОТОК С САЙТА
		// Получение файла описания обновления с сервера и загрузка обработок обслуживания
		// во временный каталог в соответствии с переданными условиями.
		//
		// АдресИПараметрыСервера - <Структура>
		//                          Содержит адрес ресурса обработок и дополнительные параметры для подключения к ресурсу
		//                            - АдресОбработок - <Строка>, адрес ресурса обработок.
		//                            - ЛогинПрокси    - <Строка>, логин доступа к прокси-серверу
		//                            - ПарольПрокси   - <Строка>, пароль доступа к прокси-серверу
		//                            - ЛогинСервера   - <Строка>, логин доступа к серверу ресурса
		//                            - ПарольСервера  - <Строка>, пароль доступа к серверу ресурса
		//
		// Результат - каталог с загруженными обработками
		//

		public object ЗагрузитьОбработкиССервера(/*АдресИПараметрыСервера, ВидТО = Неопределено, ИмяОбработки = Неопределено, СообщениеОбОшибке = ""*/)
		{
			//КаталогОбработок = "";
			//ЗаголовокДляАвторизации = "Загрузка обработки обслуживания с сайта";
			//СообщениеДляАвторизации = "Укажите логин/код и пароль для доступа к серверу обновлений обработок обслуживания. Внимание! Для ПРО версий необходимо наличие действующей подписки на ИТС.";
			//СписокДоступныхДляОбновленияОбработок = ПолучитьСписокОбработокССайта(АдресИПараметрыСервера, ВидТО, СообщениеОбОшибке);
			if(true/*ЗначениеЗаполнено(СписокДоступныхДляОбновленияОбработок)*/)
			{
				//КаталогОбработок = КаталогВременныхФайлов() + "tempTWE_v2\";
				//времАдресОбработок = Неопределено;
				//HTTP               = Неопределено;
				//времЛогинПрокси    = Неопределено;
				//времПарольПрокси   = Неопределено;
				//времЛогинСервера   = Неопределено;
				//времПарольСервера  = Неопределено;
				//АдресИПараметрыСервера.Свойство("АдресОбработок", времАдресОбработок);
				//АдресИПараметрыСервера.Свойство("HTTP"          , HTTP);
				//АдресИПараметрыСервера.Свойство("ЛогинПрокси"   , времЛогинПрокси);
				//АдресИПараметрыСервера.Свойство("ПарольПрокси"  , времПарольПрокси);
				//АдресИПараметрыСервера.Свойство("ЛогинСервера"  , времЛогинСервера);
				//АдресИПараметрыСервера.Свойство("ПарольСервера" , времПарольСервера);
				//АдресОбработок = ?(времАдресОбработок = Неопределено, "", времАдресОбработок);
				//ЛогинПрокси    = ?(времЛогинПрокси    = Неопределено, "", времЛогинПрокси);
				//ПарольПрокси   = ?(времПарольПрокси   = Неопределено, "", времПарольПрокси);
				//ЛогинСервера   = ?(времЛогинСервера   = Неопределено, "", времЛогинСервера);
				//ПарольСервера  = ?(времПарольСервера  = Неопределено, "", времПарольСервера);
				if(true/*ЗначениеЗаполнено(АдресОбработок)*/)
				{
					/*//Загрузка с сервера необходимых обработок
*/
					//Индикатор = ПолучитьОбщуюФорму("ХодВыполненияОбработкиДанных");
					//Индикатор.НаименованиеОбработкиДанных = "Загрузка с сервера обработок обслуживания";
					//Индикатор.КомментарийОбработкиДанных  = "";
					//Индикатор.КомментарийЗначения         = "Загружено";
					//Индикатор.МаксимальноеЗначение        = СписокДоступныхДляОбновленияОбработок.Количество();
					//Индикатор.Значение = 0;
					if(true/*Индикатор.МаксимальноеЗначение > 0*/)
					{
						//Индикатор.Открыть();
					}
					//Результат = Истина;
					//ЗагруженоОбработок = 0;
					if(true/*Индикатор.МаксимальноеЗначение > 0*/)
					{
						//Индикатор.Закрыть();
					}
					if(true/*ЗагруженоОбработок = 0*/)
					{
					}
				}
			}
			return null;
		}
		// Получение файла описания обновления с сервера и формирования таблицы значений
		// доступных обработок обслуживания в соответствии с переданными условиями.
		//
		// АдресИПараметрыСервера - <Структура>
		//                          Содержит адрес ресурса обработок и дополнительные параметры для подключения к ресурсу
		//                            - АдресОбработок - <Строка>, адрес ресурса обработок.
		//                            - ЛогинПрокси    - <Строка>, логин доступа к прокси-серверу
		//                            - ПарольПрокси   - <Строка>, пароль доступа к прокси-серверу
		//                            - ЛогинСервера   - <Строка>, логин доступа к серверу ресурса
		//                            - ПарольСервера  - <Строка>, пароль доступа к серверу ресурса
		//
		// Результат - каталог с загруженными обработками
		//

		public object ПолучитьСписокОбработокССайта(/*АдресИПараметрыСервера, ВидТО = Неопределено, СообщениеОбОшибке = ""*/)
		{
			//СписокОбработок = Неопределено;
			//ЗаголовокДляАвторизации = "Получение списка обновлений обработок обслуживания с сайта";
			//СообщениеДляАвторизации = "Для доступа к пользовательскому сайту укажите логин/код и пароль. Для всех версий, кроме базовых, необходимо наличие действующей подписки на ИТС.";
			//времАдресОбработок = Неопределено;
			//HTTP               = Неопределено;
			//времЛогинПрокси    = Неопределено;
			//времПарольПрокси   = Неопределено;
			//времЛогинСервера   = Неопределено;
			//времПарольСервера  = Неопределено;
			//АдресИПараметрыСервера.Свойство("АдресОбработок", времАдресОбработок);
			//АдресИПараметрыСервера.Свойство("ЛогинПрокси"   , времЛогинПрокси);
			//АдресИПараметрыСервера.Свойство("HTTP"          , HTTP);
			//АдресИПараметрыСервера.Свойство("ПарольПрокси"  , времПарольПрокси);
			//АдресИПараметрыСервера.Свойство("ЛогинСервера"  , времЛогинСервера);
			//АдресИПараметрыСервера.Свойство("ПарольСервера" , времПарольСервера);
			//АдресОбработок = ?(времАдресОбработок = Неопределено, "", времАдресОбработок);
			//ЛогинПрокси    = ?(времЛогинПрокси    = Неопределено, "", времЛогинПрокси);
			//ПарольПрокси   = ?(времПарольПрокси   = Неопределено, "", времПарольПрокси);
			//ЛогинСервера   = ?(времЛогинСервера   = Неопределено, "", времЛогинСервера);
			//ПарольСервера  = ?(времПарольСервера  = Неопределено, "", времПарольСервера);
			//СписокДоступныхДляОбновленияОбработок = Новый ТаблицаЗначений;
			//СписокДоступныхДляОбновленияОбработок.Колонки.Добавить("Имя");
			//СписокДоступныхДляОбновленияОбработок.Колонки.Добавить("Наименование");
			//СписокДоступныхДляОбновленияОбработок.Колонки.Добавить("Описание");
			//СписокДоступныхДляОбновленияОбработок.Колонки.Добавить("ВерсияОбработки");
			//СписокДоступныхДляОбновленияОбработок.Колонки.Добавить("ВерсияAPI");
			//СписокДоступныхДляОбновленияОбработок.Колонки.Добавить("Вид");
			//СписокДоступныхДляОбновленияОбработок.Колонки.Добавить("Модели");
			if(true/*ЗначениеЗаполнено(АдресОбработок)*/)
			{
				//СсылкаНаРесурсОписаниеОбновлений = АдресОбработок + "TradeWareEPF.xml";
				//КаталогФайловОбновления = КаталогВременныхФайлов() + "tempTWE_v2\";
				//СерверОбновлений = "";
				//АдресОбновлений  = "";
				//РесурсОбновлений = "";
				//ПолныйПутьКФайлуСпискаОбработок = ЗагрузитьРесурсССайта(СсылкаНаРесурсОписаниеОбновлений, КаталогФайловОбновления, HTTP, ЛогинПрокси, ПарольПрокси, ЛогинСервера, ПарольСервера, ЗаголовокДляАвторизации, СообщениеДляАвторизации, СообщениеОбОшибке);
				/*// Сохранение обратно в структуре параметров доступа к ресурсу для дальнейшего использования на время работы клиента
*/
				//АдресИПараметрыСервера.Вставить("HTTP"          , HTTP);
				//АдресИПараметрыСервера.Вставить("ЛогинПрокси"   , ЛогинПрокси);
				//АдресИПараметрыСервера.Вставить("ПарольПрокси"  , ПарольПрокси);
				//АдресИПараметрыСервера.Вставить("ЛогинСервера"  , ЛогинСервера);
				//АдресИПараметрыСервера.Вставить("ПарольСервера" , ПарольСервера);
				if(true/*Не ПустаяСтрока(ПолныйПутьКФайлуСпискаОбработок)*/)
				{
					/*//Загрузка и разбор полученного с сервера файла описания обновлений "TradeWareEPF.xml"
*/
					//ФайлОписанияОбновлений = Новый ЧтениеXML;
					//ФайлОписанияОбновлений.ОткрытьФайл(ПолныйПутьКФайлуСпискаОбработок);
					//СтрокаСпискаДоступныхОбработок = Неопределено;
					//ТекущийЭлемент = Неопределено;
					while(true/*ФайлОписанияОбновлений.Прочитать()*/)
					{
						if(true/*ФайлОписанияОбновлений.ТипУзла = ТипУзлаXML.НачалоЭлемента*/)
						{
							//ТекущийЭлемент = ФайлОписанияОбновлений.Имя;
							if(true/*ФайлОписанияОбновлений.Имя = "ОбработкаОбслуживания"*/)
							{
								//СтрокаСпискаДоступныхОбработок = СписокДоступныхДляОбновленияОбработок.Добавить();
							}
						}
					}
					//;;
				}
			}
			return null;
		}
		// Получение файла с сервера.
		//

		public object ЗагрузитьРесурсССайта(/*СсылкаНаРесурс, КаталогФайлов, HTTP = Неопределено, ЛогинПрокси = "", ПарольПрокси = "", ЛогинСервера = "", ПарольСервера = "", ЗаголовокДляАвторизации = "", СообщениеДляАвторизации = "", СообщениеОбОшибке = ""*/)
		{
			//СерверОбновлений = "";
			//АдресОбновлений  = "";
			//РесурсОбновлений = "";
			//СоставСсылки(СсылкаНаРесурс, СерверОбновлений, АдресОбновлений, РесурсОбновлений);
			//УдалитьФайлы(КаталогФайлов + РесурсОбновлений);
			//Результат = Получить(СерверОбновлений, АдресОбновлений, РесурсОбновлений, КаталогФайлов, , HTTP, ЛогинПрокси, ПарольПрокси, ЛогинСервера, ПарольСервера, ЗаголовокДляАвторизации, СообщениеДляАвторизации,СообщениеОбОшибке);
			if(true/*ПустаяСтрока(Результат)*/)
			{
			}
			return null;
		}
		// Получение заданного ресурса
		//
		// Параметры:
		//  Ресурс - имя файл-ресурса (например: UpdSetup.exe)
		// Возвращаемое значение:
		//  Имя файла полученного ресурса. Тип - Строка. Если не получен - пустая строка
		//

		public object Получить(/*Сервер, Адрес, Ресурс, Каталог, ДобавитьРесурс = Истина, HTTP = Неопределено, ЛогинПрокси = "", ПарольПрокси = "", ЛогинСервера = "", ПарольСервера = "", ЗаголовокДляАвторизации = "", СообщениеДляАвторизации = "", СообщениеОбОшибке = ""*/)
		{
			//ОбработкаПолученияФайлов = Обработки.ПолучениеФайловИзИнтернета.Создать();
			//СоздатьКаталог(Каталог);
			/*Результат = ОбработкаПолученияФайлов.ЗапроситьФайлыССервера(Сервер, Адрес + ?(ДобавитьРесурс, Ресурс, ""), Каталог + Ресурс, HTTP, Истина,
	                                                            ЛогинПрокси, ПарольПрокси, ЛогинСервера, ПарольСервера, ЗаголовокДляАвторизации, СообщениеДляАвторизации, СообщениеОбОшибке);*/
			if(true/*НЕ Результат*/)
			{
			}
			//Файл      = Новый Файл(Каталог + Ресурс);
			//Результат = Файл.ПолучитьТолькоЧтение();
			if(true/*Результат*/)
			{
				//Файл.УстановитьТолькоЧтение(Ложь);
			}
			return null;
		}
		// Вспомогательная процедура выделения имени сервера, адреса ресурса и имя ресурса по ссылке
		//
		// Параметры
		//  Ссылка  – <Строка> – исходная ссылка, содержащая имя сервера, адрес ресурса и имя ресурс
		//  Сервер  – <Строка> – результат - имя сервера
		//  Адрес   – <Строка> – результат - адрес ресурса
		//  Ресурс  – <Строка> – результат - имя ресурса
		//

		public void СоставСсылки(/*Ссылка, Сервер, Адрес, Ресурс*/)
		{
			//Поз = Найти(НРег(Ссылка),".ru");
			if(true/*Поз>0*/)
			{
				//М = Найти(НРег(Ссылка),"http://");
				//М = ?(М=0,1,8);
				//Сервер = Сред(Ссылка,М,Поз+3-М);
				//Поз1 = Найти(Ссылка,"?");
				//Поз1 = ?(Поз1=0,СтрДлина(Ссылка),Поз1-1);
				//АдресРесурс = Сред(Ссылка,Поз+4,Поз1-Поз-3);
				//Н    = СтрДлина(АдресРесурс);
				//Поз2 = Н;
				//Стр  = АдресРесурс;
				while(true/*Истина*/)
				{
					//Н = Найти(Стр,"/");
					if(true/*Н = 0*/)
					{
					}
					//Поз2 = Н;
					//Стр  = Лев(Стр, Поз2 - 1) + " " + Сред(Стр, Поз2 + 1);
				}
				/*;

		Адрес = "/"+Лев(АдресРесурс, Поз2);*/
				//Ресурс = СокрЛП(Сред(АдресРесурс, Поз2 + 1));
			}
		}
		// ПараметрыСсылки()
	}
}
